var RNFS = require('react-native-fs');
import {GET_MY_LIST,CHANGE_INPUT,ADD_ITEM,DELETE_ITEM,GET_LIST,LOGIN_STAUS,GET_EXAM,GET_USER} from './actionTypes'
import axios from 'axios'
import {Videos,videopath,examinationpath} from '../utils/path'

export const changeInputAction=(value)=>({
    type:CHANGE_INPUT,
    value
})
// 登录状态
export const changeloginStatus =(value)=>({
    type:LOGIN_STAUS,
    value

})
// 增加，
export const addItemAction =()=>({
    type:ADD_ITEM
})
// 删除
export const deleteItemAction=(index)=>({
    type:DELETE_ITEM,
    index
})
// 获取列表 返回一行语句return {} 可以省略return
export const getListAction  = (data)=>({
    type:GET_LIST,
    data
})
export const getMyListAction=()=>({
    type:GET_MY_LIST
})
export const getTodoList=()=>{
    // 返回一个函数，使用中间件后不仅支持普通对象的派发，还支持对象函数的派发
    // 在组件使用的时候如下
    // var action = getTodoList()
    // store.dispatch(action)
    // 发送函数类型的action时，该action的函数体会自动执行
      return (dispatch)=>{
        axios.post('https://www.fastmock.site/mock/759b4f73684cd7a5b5eb36794a121be8/fastmock/api/second/getlist').then((res)=>{
            console.log(res)
            const data=res.data
            const action = getListAction(data)//这是一个对象
            console.log(dispatch)
            // 把action对象传递数据给仓库store,index.js
            dispatch(action)
        })
      }
}


export const getuser=(user)=>({
    type:GET_USER,
    user
})
export const getexam=()=>{
    // 返回一个函数，使用中间件后【需要下载不然可能会出现问题】不仅支持普通对象的派发，还支持对象函数的派发
    // 在组件使用的时候如下
    // var action = getTodoList()
    // store.dispatch(action)
    // 发送函数类型的action时，该action的函数体会自动执行
      return (dispatch)=>{
        RNFS.readFile(examinationpath, 'utf8').then(res => {
            var arr = JSON.parse(res)
            const action ={
                    type:GET_EXAM,
                    arr
                }
            dispatch(action)
        
        }).catch(err => {
            console.log(err)
        })
      }
}